package com.fz.us.admin.company.dao;


import com.fz.us.admin.base.dao.BaseDao;
import com.fz.us.admin.company.entity.*;


import java.util.List;

/**
 * Dao接口 - 
 * ============================================================================
 * 版权所有 2013 。
 * 
 * @author 
 * @version 0.1 2013-01-06
 * ============================================================================
 */

public interface CommonConfigDao extends BaseDao<CommonConfig, String> {
    /**
     * 通过CommonConfig对象的id，得到Roles
     * @param id
     * @return
     */
    List<Group> findGroupById(String id);

    /**
     * 通过CommonConfig对象的id，得到Departments
     * @param id
     * @return
     */
    List<Department> findDepartmentById(String id);

    /**
     * 通过CommonConfig对象的id，得到Posts
     * @param id
     * @return
     */
    List<Post> findPostById(String id);

    /**
     * 通过CommonConfig对象的id，得到Powers
     * @param id
     * @return
     */
    List<Power> findPowerById(String id);

    /**
     * 通过CommonConfig对象的departmentSet找到对应的duty列表
     * @param id
     * @return
     */
    List<Duty> findDutyByCfgInDepart(String id);

    /**
     * 通过CommonConfig对象的postSet找到对应的duty列表
     * @param id
     * @return
     */
    List<Duty> findDutyByCfgInPost(String id);

    /**
     * 通过CommonConfig对象的powerSet找到对应的duty列表
     * @param id
     * @return
     */
    List<Duty> findDutyByCfgInPower(String id);

    /**
     * 通过CommonConfig对象的groupSet找到对应的duty列表
     * @param id
     * @return
     */
    List<Duty> findDutyByCfgInGroup(String id);

    /**
     * 通过所有人，部门，岗位，职权，角色共同查询职责
     * @param id
     * @return
     */
    public List<Duty> findDutyByConfig(String id);

    /**
     * 通过文档id,实体类名, 所有人，部门，岗位，职权，角色，域名共同查询职责
     * @param id
     * @return
     */
    public List<Duty> findDutyByConfig(String keyId, String entityName, String id) ;
}